package com.zenithmind.note.pojo.entity;

import com.zenithmind.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 笔记评论实体类
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "笔记评论实体", description = "笔记评论实体")
public class NoteComment extends BaseEntity {
    
    @Schema(description = "笔记ID")
    @NotNull(message = "笔记ID不能为空")
    private String noteId;
    
    @Schema(description = "评论用户ID")
    @NotNull(message = "用户ID不能为空")
    private String userId;
    
    @Schema(description = "父评论ID，用于回复功能")
    private String parentId;
    
    @Schema(description = "评论内容")
    @NotBlank(message = "评论内容不能为空")
    private String content;
    
    @Schema(description = "点赞数")
    private Integer likeCount;
    
    /**
     * 评论状态（0-无效，1-有效）
     */
    private Integer status;
} 